Recent innovations in computing processor microarchitecture and fabrication have produced immense advances in computing performance in consumer- and commercial-grade microprocessors. These innovations include scale-down of device size, increased density, increased clock rate, reduced differential logic voltage, and increased architectural and operational complexity. Each of these factors tends to increase the susceptibility of advanced microprocessors to operational faults, such as logic glitches, that may occur unpredictably and as isolated events. These types of faults are difficult to detect, yet they may result in corruption of data and malfunctioning of the application or system software being executed.
Although the occurrence of faults remains exceedingly rare, there are a number of mission-critical applications for which the operational fault tolerance is substantially reduced compared to more conventional computing applications, typically by multiple orders of magnitude. Mission-critical applications are those where personal safety is at stake. These include, for example, control of autonomous vehicles or driver-assist systems, robotic surgery or life-support systems, control of industrial processes, the failure of which may result in an explosion or release of toxic material, and the like.
It would be advantageous if consumer/commercial-grade microprocessors, with their associated the performance and relatively low cost, could be used in mission-critical applications. A variety of techniques have been deployed to increase immunity from operational faults in microprocessor systems; however, they have tended to be limited in their practical applicability to fundamental operational blocks such as state machines, control blocks, pipelines, etc., or have added substantial complexity, cost and compromises in computing performance. A practical solution is needed.